home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Language/OS - Multiplatform Resource Library
/
LANGUAGE OS.iso
/
lisp
/
kcl
/
kcl_txt.lha
/
kcl.broadcast
< prev
next >
Wrap
Text File
|
1993-08-13
|
15KB
|
398 lines
Kyoto Common Lisp (KCL) is a complete implementation of Common Lisp written
by T. Yuasa (Department of Computer Science, Toyohashi University of
Technology) and M. Hagiya (Department of Information Science, University of
Tokyo). It runs on many different machines and is highly portable. It
executes very efficiently and it is superbly documented. KCL is being made
available at no fee through the implementors' generosity. The complete
sources are included. One channel of distribution is via ftp on the
Arpanet/Internet.
LICENSE REQUIRED!
IMPORTANT: Although there is no fee, KCL is NOT in the public domain. You
are authorized to obtain it only after signing and mailing in a license
agreement. Before you ftp KCL files you MUST fill out and send in the
license agreement included in this message. Otherwise, you are not
permitted to make copies of KCL.
COPYING KCL VIA INTERNET
KCL may be obtained from Internet host cli.com, a Sun-3 at
Computational Logic, Inc., Austin, Texas. To obtain KCL, login as
"ftp" with password "guest". Please use ftp at an odd hour if
possible to reduce traffic on a sometimes heavily loaded network. Be
sure to use binary mode with ftp. A current version of this message
may be found as the file /pub/kcl/kcl.broadcast.
The directory /pub/kcl/kcl.tar.Z-split contains a collection of files
of about 200,000 bytes each whose "cat"enation is the file kcl.tar.Z.
When connected to a directory containing these files, the Unix command
"cat kcl.tar.Z-split* > kcl.tar.Z" will produce the file kcl.tar.Z, which is
a compressed version of the file kcl.tar. The file
/pub/kcl/compress.tar contains the code for compress. Use the command
"uncompress kcl.tar.Z" to produce the file kcl.tar. Use the tar
command on kcl.tar to build a directory structure containing the
sources of KCL. At the end of this message is a sample Sun-3
installation.
Alternative places from which KCL may be obtained by anoymous ftp are
rascal.ics.utexas.edu and orville.nas.nasa.gov. Due to vagaries of
network connectivity, some of these may provide MUCH better network
service than cli.com.
KCL ON TAPE
Austin Code Works, 11100 Leafwood Ln., Austin TX 78750-3409 USA.
Tel:(512) 258-0785.
The cost is about $250 US. (includes emacs,kcl,and akcl)
Payment can be made using a check on American bank, Visa or
mastercard, or international money order.
MACHINES ON WHICH KCL RUNS
KCL runs on many machines. With the sources provided in the ftp file, KCL
may be executed on the following machines (and operating systems).
VAX/UNIX (4.2BSD)
SUN2 (OS2, 3) SUN3 (OS3)
SONY'S NEWS (4.2BSD)
ATT3B2 (System V)
Fujitu S3000 (System V)
Sumitomo's E15 (Uniplus System V)
Data General MV (DGUX)
Instructions for making the system are in the file doc/porting in the ftp
tar file.
KCL LICENSE FORM
To obtain the right to copy KCL, sign this license form and send it and a copy
to the Kyoto address at the end of the form. ONCE YOU HAVE MAILED THE SIGNED
LICENSE FORM, YOU MAY COPY KCL. YOU DO NOT HAVE TO WAIT FOR RECEIPT OF THE
SIGNED FORM.
---------------------------------- cut here -------------------------------
LICENSE AGREEMENT
FOR
KYOTO COMMON LISP
The Special Interest Group in LISP (Taiichi Yuasa at Department of Computer
Science, Toyohashi University of Technology and Masami Hagiya at Department
of Information Science, University of Tokyo) (hereinafter referred to as
SIGLISP) grants to
USER NAME: _________________________________________
USER ADDRESS: ______________________________________
______________________________________
(hereinafter referred to as USER), a non-transferable and non-exclusive
license to copy and use Kyoto Common LISP (hereinafter referred to as KCL)
under the following terms and conditions and for the period of time
identified in Paragraph 6.
1. This license agreement grants to the USER the right to use KCL within
their own home or organization. The USER may make copies of KCL for use
within their own home or organization, but may not further distribute KCL
except as provided in paragraph 2.
2. SIGLISP intends that KCL be widely distributed and used, but in a manner
which preserves the quality and integrity of KCL. The USER may send a copy
of KCL to another home or organization only after either receiving permission
from SIGLISP or after seeing written evidence that the other home or
organization has signed this agreement and sent a hard copy of it to SIGLISP.
If the USER has made modifications to KCL and wants to distribute that
modified copy, the USER will first obtain permission from SIGLISP by written
or electronic communication. Any USER which has received such a modified
copy can pass it on as received, but must receive further permission for
further modifications. All modifications to copies of KCL passed on to other
homes or organizations shall be clearly and conspicuously indicated in all
such copies. Under no other circumstances than provided in this paragraph
shall a modified copy of KCL be represented as KCL.
3. The USER will ensure that all their copies of KCL, whether modified or
not, carry as the first information item the following copyright notice:
(c) Copyright Taiichi Yuasa and Masami Hagiya, 1984. All rights reserved.
Copying of this file is authorized to users who have executed the true and
proper "License Agreement for Kyoto Common LISP" with SIGLISP.
4. Title to and ownership of KCL and its copies shall at all times remain
with SIGLISP and those admitted by SIGLISP as contributors to the development
of KCL. The USER will return to SIGLISP for further distribution
modifications to KCL, modifications being understood to mean changes which
increase the speed, reliability and existing functionality of the software
delivered to the USER. The USER may make for their own ownership and use
enhancements to KCL which add new functionality and applications which employ
KCL. Such modules may be returned to SIGLISP at the option of the USER.
5. KCL IS LICENSED WITH NO WARRANTY OF ANY KIND. SIGLISP WILL NOT BE
RESPONSIBLE FOR THE CORRECTION OF ANY BUGS OR OTHER DEFICIENCIES. IN NO
EVENT SHALL SIGLISP BE LIABLE FOR ANY DAMAGES OF ANY KIND, INCLUDING
SPECIAL, INDIRECT OR CONSEQUENTIAL DAMAGES, ARISING OUT OF OR IN CONNECTION
WITH THE USE OR PERFORMANCE OF KCL.
6. This license for KCL shall be effective from the date hereof and shall
remain in force until the USER discontinues use of KCL. In the event the
USER neglects or fails to perform or observe any obligations under this
Agreement, this Agreement and the License granted hereunder shall be
immediately terminated and the USER shall certify to SIGLISP in writing that
all copies of KCL in whatever form in its possession or under its control
have been destroyed.
7. Requests. KCL is provided by SIGLISP in a spirit of friendship and
cooperation. SIGLISP asks that people enjoying the use of KCL cooperate in
return to help further develop and distribute KCL. Specifically, SIGLISP
would like to know which machines KCL gets used on. A brief notice form is
appended to this agreement which the user is requested to send by email or
otherwise. Please send in further notifications at reasonable intervals if
you increase the number and type of machines on which KCL is loaded. You may
send these notices to another USER which is cooperating with SIGLISP for this
purpose.
USER
DATE: _________________________________________
BY: ___________________________________________
TITLE: ________________________________________
ADDRESS: ______________________________________
______________________________________
SIGLISP
DATE: _________________________________________
BY: ___________________________________________
Taiichi Yuasa
Department of Computer Science
Toyohashi University of Technology
Toyohashi, 441, Japan
BY: ___________________________________________
Masami Hagiya
Department of Information Science
University of Tokyo
Tokyo, 113, JAPAN
USER has loaded KCL on the following machines since (date):
Model Number Production Name Number of Machines
END OF LICENSE FORM
--------------------------- cut here ------------------------
DOCUMENTATION
The principal documentation for KCL is, of course, the book "Common Lisp
The Language" by Guy L. Steele, Jr. with contributions by Scott E. Fahlman,
Richard P. Gabriel, David A. Moon, and Daniel L. Weinreb, Digital Press,
1984. Implementation-specific details of KCL (debugging, garbage
collection, data structure format, declarations, operating system
interface, installation) may be found in the 131 page "Kyoto Common Lisp
Report" by Taiichi Yuasa and Masami Hagiya, the authors of KCL.
A LaTeX version of the KCL Report may be found in the file
/pub/kcl/kcl-report.tex. An on-line readable version may be found in
the file /pub/kcl/kcl-report.doc.
This report is available in paper form from:
Teikoku Insatsu Inc.
Shochiku-cho,
Ryogae-cho-dori Takeya-machi Sagaru,
Naka-gyo-ku,
Kyoto, 604, Japan
tel: 075-231-4757
for 5,000 yen plus postage.
The original KCL Report was produced by the text-formatter KROFF (Kyoto
ROFF), which is used locally within Kyoto University. Currently KROFF
works only on printers available in Japan. The source of the report, with
KROFF commands, is found in the file doc/report on the ftp tar file.
A document describing how to port KCL to other systems is available at no
charge from the authors of KCL.
Each of the KCL primitives is thoroughly described by the "describe"
function, which is based on 340K bytes of documentation.
SUPPORT
KCL is one of the most bug-free large software systems that we have ever used.
However, when bugs are found, they may be reported to the implementors:
hagiya%kurims.kurims.kyoto-u.junet%utokyo-relay.csnet@RELAY.CS.NET
yuasa%tutics.tut.junet%utokyo-relay.csnet@RELAY.CS.NET
We have found them extremely responsive to bug reports and suggestions.
MAILING LIST
To be entered on an electronic mailing list for KCL, send a request to
kcl-request@cli.com. Archives of the mailing list may be found in the
file kcl-mail-archive in the same directory with the KCL sources.
SAMPLE TRANSCRIPT
Below is a complete transcript for obtaining and installing KCL on a Sun-3.
Make a directory for locating KCL
tutorial% mkdir /usr/joe/kcl
Get the split, compressed tar file
tutorial% cd /usr/joe/kcl
tutorial% ftp cli.com
220 cli FTP server (Version 4.15 Sat Nov 7 15:24:41 PST 1987) ready.
Name: ftp
Password: guest
ftp>binary
ftp>prompt
ftp>cd /pub/kcl/kcl.tar.Z-split/
ftp>mget *
ftp>quit
Unsplit
tutorial% cat kcl.tar.Z-split* > kcl.tar.Z
tutorial% rm kcl.tar.Z-split*
Build the KCL directory structure
tutorial% uncompress kcl.tar.Z
tutorial% tar -xvf kcl.tar .
tutorial% rm kcl.tar
Make KCL
tutorial% cd /usr/joe/kcl/
tutorial% su
password: super-user-password
tutorial# cp h/cmpinclude.h /usr/include
tutorial# exit
tutorial% make
Edit and Install Two Files
We wish to replace "~" by "/usr/joe" in lc and kcl, and put
them in a directory on the search path e.g. "/usr/joe/bin"
tutorial% cd /usr/joe/kcl/unixport
tutorial% mkdir /usr/joe/bin
tutorial% sed -e "s.~./usr/joe/kcl.g" lc > /usr/joe/bin/lc
tutorial% sed -e "s.~./usr/joe/kcl.g" kcl > /usr/joe/bin/kcl
tutorial% chmod a+x /usr/joe/bin/lc /usr/joe/bin/kcl
It is now possible to run kcl:
tutorial% /usr/joe/bin/kcl
KCL (Kyoto Common Lisp)
>(+ 2 3)
5
>(bye)
It is best to become super user and execute the following commands, so that all
users may execute kcl.
tutorial% su
Password: superuser-password
tutorial# cp /usr/joe/bin/kcl /usr/local/bin
tutorial# cp /usr/joe/bin/lc /usr/local/bin
tutorial# exit
This transcript puts the entire kcl system, including sources and
documentation, in the directory /usr/joe/kcl. Any other directory name
would do as well, e.g., /usr/local instead of /usr/joe. Although this
transcript has worked perfectly for us on a Sun-3, it might not work for
you if you are running under NFS but not logged into the right machine:
you may need to login as root on the system where /usr/include and
/usr/local/bin are really located to do the super-user things. Immediately
after the make is finished about 8.4 megatyes of disk space are in use.
SINCERELY YOURS
Robert S. Boyer William F. Schelter
boyer@cli.com wfs@carl.ma.utexas.edu
This message was written by Robert S. Boyer and William F. Schelter.
The opinions expressed are theirs and are not necessarily those of the
authors of KCL, the University of Texas, MCC, or Computational Logic,
Inc. The authors of KCL have, however, indicated that they have no
objection to our distributing this message.
P.S. Thanks to Dave Capshaw, George Fann, Warren Hunt, Ken Rimey, and Carl
Quillen for helping debug this message. Ken Rimey,
rimey@ernie.Berkeley.EDU, makes the following remarks about bringing up
this release of KCL under BSD 4.3 on a Vax.
1. Bringing up KCL under BSD4.3. The machine on which I installed kcl was
a Vax 88xx running Ultrix V2.0. Kcl crashed when executing the final
save-system command in init_kcl.lsp. It also did so on a Vax running
BSD4.3. (I don't know of any Vaxen still running 4.2.) The problem is
caused by some highly non-portable code introduced into Lsave() in
c/unixsave.c since the version of March 28, 1986. I deleted the new code
and reintroduced the old which had been commented out. Here is the
resulting working Lsave():
Lsave()
{
char filename[256];
check_arg(1);
check_type_or_pathname_string_symbol_stream(&vs_base[0]);
coerce_to_filename(vs_base[0], filename);
_cleanup();
memory_save(kcl_self, filename);
exit(0);
/* no return */
}
KCL ran successfully after only fixing the Lsave problem.
2. The files o/makefile and unixport/makefile define variables that need to be
changed when compiling for any machine other than a Sun-3. These definitions
are found at the heads of these files. Here is the head of my copy of
o/makefile:
MACHINE = VAX
# Select 'VAX', 'SUN', 'SUN2R3', 'SUN3', 'ISI', 'SEQ', 'IBMRT',
# or 'NEWS'.
CHTAB = char_table.s
# Select 'char_table.s' or 'sun_chtab.s'.
# 1) char_table.s : for VAX, SEQ and NEWS
# 2) sun_chtab.s : for SUN, SUN2R3 and SUN3
# 3) isi_chtab.s : for ISI
# 4) ibmrt_chtab.s: for IBMRT
For machines other than Sun-3, one might change the MAKE KCL
section of this message to:
tutorial% cd /usr/joe/kcl/
tutorial% vi o/makefile (If not Sun-3, change definitions MACHINE and CHTAB.)
tutorial% vi o/unixport (If not Sun-3, change definition of MACHINE.)
tutorial% su
password: super-user-password
tutorial# cp h/cmpinclude.h /usr/include
tutorial# exit
tutorial% make
Last Update Thu Nov 10 11:10:50 CST 1988